qx.Class.define("caraffa.forms.HistoriasClinicas",
{
extend : qx.ui.form.ow.FormTab,
construct : function ()
{
	this.base(arguments, "HistoriasClinicas", "Historias Clinicas");
	//RPC
	this._rpcHC = new qx.io.remote.Rpc();
	this._rpcHC.setTimeout(10000);
	this._rpcHC.setUrl("services/");
	this._rpcHC.setServiceName("historiasClinicas");
	
	this._grpPacientes = new qx.ui.groupbox.GroupBox();
		this._grpPacientes.setLayout(new qx.ui.layout.VBox(10));
		this._grpPacientes.setWidth(550);
		this._grpPacientes.setHeight(300);
		this._txtBuscar = new qx.ui.form.ow.TextField("Paciente:");

		this._mdlPacientes = new qx.ui.table.model.Simple();
			this._mdlPacientes.setColumns(["DNI","Nombre","Ultima Visita"]);
		this._tblPacientes = new qx.ui.table.Table(this._mdlPacientes);
			this._tblPacientes.setStatusBarVisible(false);
			this._tblPacientes.setColumnWidth(0, 100);
			this._tblPacientes.setColumnWidth(1, 290);
			this._tblPacientes.setColumnWidth(2, 130);
			this._tblPacientes.setShowCellFocusIndicator(false);
			this._tblPacientes.setWidth(500);
			this._tblPacientes.setHeight(200);

	this._grpBotonera = new qx.ui.groupbox.GroupBox();
		this._grpBotonera.setWidth(350);
		this._grpBotonera.setLayout(new qx.ui.layout.HBox(20).set({alignX:"center"}));
		this._btnBuscar = new qx.ui.form.Button("Mostrar");
	this._grpBotonera.add(this._btnBuscar);
			
			
	this._grpPacientes.add(this._txtBuscar);
	this._grpPacientes.add(this._tblPacientes);
	this._grpPacientes.add(this._grpBotonera);
	
	this.add(this._grpPacientes,{top:0,left:0});
	this._attachEvents();	
},

members: {
	
	_attachEvents : function (){
		this.addListener('appear', this._initForm, this);
		this._txtBuscar.getText().addListener("input", this._getPacientesFiltrados, this);
		this._btnBuscar.addListener('execute', this._getHistoriaClinica, this);
	},
	_initForm : function(){
	},
	_getPacientesFiltrados : function ()
	{
		if (this._txtBuscar.getValue().length >= 3)
		{
			try
			{
				var params = new Object();
				params.buscar = this._txtBuscar.getValue();
				if(! isNaN(parseInt(params.buscar))){
					params.filtro = "D";
				}
				else{
					params.filtro = "N";
				}
				var resEncontrado = this._rpcHC.callSync("getPacientesEncontrados", params);
				this._tblPacientes.getTableModel().setData(resEncontrado);
			}
			catch (ex)
			{
				alert(ex);
			}
		}
		else
		{
			this._tblPacientes.getTableModel().setData("");
		}
	},

	_getHistoriaClinica:function(){
		var dni_paciente = this._mdlPacientes.getValue(0, this._tblPacientes.getFocusedRow());
		var nombre = this._mdlPacientes.getValue(1, this._tblPacientes.getFocusedRow());
		this.winHistoriaClinica = new caraffa.widgets.HistoriaClinica("Historia Clinica Paciente: "+nombre, dni_paciente);
		this.winHistoriaClinica.addListener("resize", this.winHistoriaClinica.center, this.winHistoriaClinica);
  		this.winHistoriaClinica.open();
	}
}
});
